File I/O Operations এবং Streams ব্যবহার in Groovy
Groovy তে File I/O Operations এবং Streams ব্যবহার করা অত্যন্ত সহজ এবং সংক্ষিপ্ত। Groovy Java এর I/O লাইব্রেরি ব্যবহার করে ফাইলের সাথে কাজ করার জন্য অনেক কার্যকরী ফিচার সরবরাহ করে। আপনি Groovy তে ফাইল তৈরি, পড়া, লেখা, এবং আপডেট করার মতো বিভিন্ন কাজ খুব সহজেই করতে পারেন।
এখানে File I/O Operations এবং Streams ব্যবহার সম্পর্কে বিস্তারিত আলোচনা করা হলো।
১. File I/O Operations in Groovy
Groovy তে ফাইলের সাথে কাজ করার জন্য বিভিন্ন বিল্ট-ইন ক্লাস রয়েছে, যার মধ্যে সবচেয়ে জনপ্রিয় হল File ক্লাস। Groovy এর File ক্লাসের সাহায্যে আপনি ফাইল তৈরি, ফাইলের কন্টেন্ট পড়া এবং লেখা, ফাইলের আছড়ে পড়া ইত্যাদি কাজ করতে পারেন।
ফাইল তৈরি এবং লেখা (Writing to a file):
Groovy তে ফাইল তৈরি করা এবং তাতে লেখা অত্যন্ত সহজ। File ক্লাসের text বা append প্রপার্টি ব্যবহার করে আপনি সহজেই ফাইলে লেখা করতে পারেন।
উদাহরণ:
def file = new File("example.txt")
file.text = "Hello, Groovy!" // ফাইলে লেখা হচ্ছে
println "File written successfully!"এখানে:
textপ্রপার্টি ব্যবহার করে আমরা "example.txt" নামক ফাইলে টেক্সট লিখেছি।
ফাইল পড়া (Reading from a file):
Groovy তে ফাইলের কন্টেন্ট পড়াও সহজ। আপনি text প্রপার্টি ব্যবহার করে ফাইলের পুরো কন্টেন্ট একেবারে পড়তে পারেন।
উদাহরণ:
def file = new File("example.txt")
println file.text // ফাইলের কন্টেন্ট পড়া এবং প্রিন্ট করাএখানে:
textপ্রপার্টি ব্যবহার করে ফাইলের পুরো কন্টেন্ট পড়া হয়েছে এবং তা কনসোল এ প্রিন্ট করা হয়েছে।
ফাইল অ্যাপেন্ড করা (Appending to a file):
ফাইলের শেষে নতুন কন্টেন্ট যোগ করতে আপনি append প্রপার্টি ব্যবহার করতে পারেন।
উদাহরণ:
def file = new File("example.txt")
file.append("\nAppended text") // ফাইলের শেষে নতুন টেক্সট যোগ করা
println "Text appended successfully!"এখানে:
appendব্যবহার করে ফাইলের শেষের দিকে নতুন টেক্সট যোগ করা হয়েছে।
ফাইলের আছড়ে পড়া (Reading a file line by line):
আপনি eachLine মেথড ব্যবহার করে ফাইলের কন্টেন্ট একেকটি লাইন হিসেবে পড়তে পারেন।
উদাহরণ:
def file = new File("example.txt")
file.eachLine { line ->
println "Line: $line"
}এখানে:
eachLineমেথড ব্যবহার করে ফাইলের প্রতিটি লাইন আলাদাভাবে প্রিন্ট করা হয়েছে।
২. Streams in Groovy
Groovy তে Streams ব্যবহারের মাধ্যমে আপনি বড় আকারের ডেটা পড়তে এবং লিখতে পারবেন এবং এটি অনেক কার্যকরী হতে পারে যখন আপনি ফাইল বা ডেটার স্ট্রিমিং (streaming) করতে চান। Groovy তে InputStream এবং OutputStream ব্যবহার করে আপনি ফাইলের ডেটা স্ট্রিমে পড়তে বা লেখতে পারবেন।
InputStream ব্যবহার:
InputStream ক্লাস ব্যবহার করে আপনি ফাইল থেকে বাইনারি ডেটা পড়তে পারেন।
উদাহরণ:
def file = new File("example.txt")
def inputStream = file.newInputStream()
def text = inputStream.text // ফাইলের কন্টেন্ট পড়া
println textএখানে:
newInputStream()মেথড ব্যবহার করে ফাইল থেকে বাইনারি স্ট্রিমে ডেটা পড়া হয়েছে।
OutputStream ব্যবহার:
OutputStream ক্লাস ব্যবহার করে আপনি বাইনারি ডেটা ফাইলে লিখতে পারেন।
উদাহরণ:
def file = new File("example.txt")
def outputStream = file.newOutputStream()
outputStream.write("Hello, Groovy!".bytes) // বাইনারি আকারে লেখা
println "Text written to file!"এখানে:
newOutputStream()মেথড ব্যবহার করে ফাইলে বাইনারি ডেটা লেখা হয়েছে।.bytesদিয়ে স্ট্রিংকে বাইনারি আকারে রূপান্তরিত করা হয়েছে।
৩. Groovy Stream Manipulation
Groovy তে স্ট্রিম ব্যবহারের মাধ্যমে আপনি ডেটা প্রসেসিং যেমন ফিল্টারিং, ম্যাপিং, রিডুসিং ইত্যাদি করতে পারেন। Groovy তে স্ট্রিম প্রক্রিয়াগুলির সাথে কাজ করার জন্য অনেক বিল্ট-ইন মেথড রয়েছে।
Stream Manipulation উদাহরণ:
def numbers = [1, 2, 3, 4, 5, 6]
def evenNumbers = numbers.stream()
.filter { it % 2 == 0 } // filter করে শুধুমাত্র even numbers
.collect(Collectors.toList())
println evenNumbers // আউটপুট: [2, 4, 6]এখানে:
.stream()মেথড ব্যবহার করে একটি স্ট্রিম তৈরি করা হয়েছে।.filter()মেথড ব্যবহার করে স্ট্রিমে থাকাevenসংখ্যাগুলিকে ফিল্টার করা হয়েছে।.collect()মেথড ব্যবহার করে ফিল্টার করা ফলাফল একটি List এ সংগ্রহ করা হয়েছে।
সারাংশ
- File I/O Operations: Groovy তে ফাইলের সাথে কাজ করা সহজ, যেখানে আপনি ফাইল তৈরি, পড়া, লেখা এবং আপডেট করতে পারেন
Fileক্লাসের মাধ্যমে। - Streams: Groovy তে স্ট্রিম ব্যবহার করে আপনি ডেটা পড়তে এবং লেখতে পারবেন। এছাড়া Groovy তে স্ট্রিমের মাধ্যমে ডেটার প্রসেসিং (যেমন ফিল্টার, ম্যাপ, রিডুস) সহজে করা যায়।
- Groovy এর I/O Operations এবং Streams অত্যন্ত সহজ এবং কার্যকরী, যা আপনাকে দ্রুত এবং দক্ষতার সাথে ফাইল ম্যানিপুলেশন করতে সাহায্য করে।
Read more